package com.rw.service;

import com.rw.pojo.Account;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.SQLException;

/**
 * @author rabit
 */
public interface AccountService {

    /**
     * 通过账户名和密码校验账户是否存在
     *
     * @param aid  账户名
     * @param apwd 密码
     * @return 存在返回true   不存在返回false
     */
    boolean getCheckAccount(int aid, String apwd) throws SQLException;

    /**
     * 通过账户名和金额查询账户是否存在账户，金额必须小于账户信息
     *
     * @param aid   账户名
     * @param money 金额
     * @return 存在返回true   不存在返回false
     */
    boolean getCheckMoney(Integer aid, Double money) throws SQLException;

    /**
     * 通过收款人的账户信息和姓名进行校验，如果一致，那么返回true,否则返回false
     *
     * @param inUid   收款人账户
     * @param inUname 收款人的姓名
     * @return 如果一致，那么返回true,否则返回false
     * @throws SQLException
     */
    boolean getCheckInAccount(Integer inUid, String inUname) throws SQLException;

    /**
     * 转账业务的操作
     * @param aid 转账的账号
     * @param money 需要转的钱
     * @param inUid 收款人的账号
     * @return 如果转账成功返回的是true 否则返回false
     * @throws SQLException
     */
    boolean changeMoney(Integer aid, Double money, Integer inUid) throws SQLException;

    boolean getMoney(Integer aid, Double money, Integer inUid) throws SQLException;

    /**
     * 根据用户的uid该用户的id
     * @param uid 用户id
     * @return
     */
    Account getAccountByUid(Integer uid) throws SQLException;
}
